package priv.mill.entry;

import java.util.List;
import com.alibaba.fastjson.annotation.JSONField;
<%
	//拼装所有的参数列表
	var files=table.id.concat(table.field);
	var argListStr=files.map((item)=>{
			return obj.types[item.attr["@_type"]].javaType+" "+xia2TuoFeng(item.attr["@_name"]);
		}).join(",");
	
%>
public class <%=xia2Pasic(table.attr["@_name"])%> extends BasePojo{


<%
	//生成所有的表字段
	files.forEach((item)=>{

%>
	private <%=obj.types[item.attr["@_type"]].javaType%> <%=xia2TuoFeng(item.attr["@_name"])%>;
		
	public <%=obj.types[item.attr["@_type"]].javaType%> get<%=xia2Pasic(item.attr["@_name"])%>() {
		return <%=xia2TuoFeng(item.attr["@_name"])%>;
	}

	public void set<%=xia2Pasic(item.attr["@_name"])%>(<%=obj.types[item.attr["@_type"]].javaType%> <%=xia2TuoFeng(item.attr["@_name"])%>) {
		this.<%=xia2TuoFeng(item.attr["@_name"])%> = <%=xia2TuoFeng(item.attr["@_name"])%>;
	}
<%
		
	});
%>
	
<%
	//生成其它表对本表的关联
	if(table && table.refs)
	var arr;
	arr=[].concat(table.beRefs ,table.refs);
	
	if(arr)
	arr.forEach(function (item) {
		if(!item)return
		var pas=xia2Pasic(item.table);
		var tab=xia2TuoFeng(item.table);
		var tt=pas;
		if(item.type.trim()==="multy"){
			tt=`List<${pas}>`;
		}

%>	
@JSONField(serialize=false)
private <%-tt%> <%=tab%>;
	
	public <%-tt%> get<%=pas%>() {
		return <%=tab%>;
	}

	public void set<%=pas%>(<%-tt%> <%=tab%>) {
		this.<%=tab%> = <%=tab%>;
	}<%
	});
%>



	//带参数构造
	public <%=xia2Pasic(table.attr["@_name"])%>(<%=argListStr%>) {
		<%

		files.forEach((item)=>{

		%>this.<%=xia2TuoFeng(item.attr["@_name"])%>=<%=xia2TuoFeng(item.attr["@_name"])%>;<%
		
		});
		%>

	}

	
	//空参数构造
	public <%=xia2Pasic(table.attr["@_name"])%>() {
	}
	
	

}
